//package com.source.sql;
//
//import cn.hutool.core.collection.CollUtil;
//import cn.hutool.core.util.StrUtil;
//import java.util.ArrayList;
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//import lombok.Data;
//
///**
// * 表信息
// *
// * @author wangchangjie
// * @date 2024/03/07
// */
//@Data
//public class TableInfo {
//    private String name;
//    private Map<String, ColumInfo> columns;
//    private List<String> otherInfos;
//    /**
//     * 如果字段是空的那么就是有效的表
//     */
//    private Boolean valid;
//
//    public TableInfo(String name) {
//        this.name = name;
//        this.columns = new HashMap<>();
//    }
//
//    public void addColumn(String name, String type,String textColum) {
//        columns.put(name, new ColumInfo(name,type,textColum));
//    }
//
//    public void addOtherInfo(String otherInfo) {
//        if (CollUtil.isEmpty(otherInfos)){
//            otherInfos = new ArrayList<>();
//        }
//        otherInfos.add(otherInfo);
//    }
//
//    public String compare(TableInfo other) {
//        // 分销表字段遍历
//        // 分销有，行业没有的（必须补齐）
//        StringBuilder sbMd = new StringBuilder();
//        // 行业有，分销没有（根据业务需求，考虑代码）
//        StringBuilder sbHy = new StringBuilder();
//        for (Map.Entry<String, ColumInfo> entry : columns.entrySet()) {
//            String columnName = entry.getKey();
//            ColumInfo value = entry.getValue();
//            String columnType = value.getType();
//            if (!other.columns.containsKey(columnName)) {
//                sbMd.append("行业中无该字段").append(" ").append(columnName).append(" ").append(columnType).append(";<br>");
//            } else {
//                ColumInfo columInfo = other.columns.get(columnName);
//                String otherColumnType = columInfo.getType();
//                if (!otherColumnType.equals(columnType)) {
//                    sbMd.append("字段类型差异 ").append(columnName).append(" ").append("行业：").append(otherColumnType).append(",分销：").append(columnType).append(";<br>");
//                }
//            }
//        }
//
//        for (Map.Entry<String, ColumInfo> entry : other.columns.entrySet()) {
//            String columnName = entry.getKey();
//            ColumInfo value = entry.getValue();
//            String columnType = value.getType();
//            if (!columns.containsKey(columnName)) {
//                sbHy.append("分销中无该字段").append(" ").append(columnName).append(" ").append(columnType).append(";<br>");
//            }
//        }
//        if (StrUtil.isNotBlank(sbMd.toString()) || StrUtil.isNotBlank(sbHy.toString())) {
//            return String.format("一、分销相对行业的差异（重视）{<br>%s};<br>二、行业相对分销的差异（结合业务要求判定重要程度）{<br>%s}",sbMd.toString(),sbHy.toString());
//        }else {
//            return "";
//        }
//
//    }
//}
